Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Non-commutative cryptography</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Non-commutative_cryptography"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/ext.math.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Non-commutative_cryptography rootpage-Non-commutative_cryptography skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Non-commutative cryptography</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><p><b>Non-commutative cryptography</b> is the area of <a href="Cryptology" class="mw-redirect" title="Cryptology">cryptology</a> where the <a href="Cryptographic_primitive" title="Cryptographic primitive">cryptographic primitives</a>, methods and systems are based on <a href="Algebraic_structure" title="Algebraic structure">algebraic structures</a> like <a href="Semigroup" title="Semigroup">semigroups</a>, <a href="Group_(mathematics)" title="Group (mathematics)">groups</a> and <a href="Ring_(mathematics)" title="Ring (mathematics)">rings</a> which are <a href="Non-commutative" class="mw-redirect" title="Non-commutative">non-commutative</a>. One of the earliest applications of a non-commutative algebraic structure for cryptographic purposes was the use of <a href="Braid_group" title="Braid group">braid groups</a> to develop cryptographic protocols. Later several other non-commutative structures like <a href="Thompson_groups" title="Thompson groups">Thompson groups</a>, <a href="Polycyclic_group" title="Polycyclic group">polycyclic groups</a>, <a href="Grigorchuk_group" title="Grigorchuk group">Grigorchuk groups</a>, and <a href="Matrix_group" class="mw-redirect" title="Matrix group">matrix groups</a> have been identified as potential candidates for cryptographic applications. In contrast to non-commutative cryptography, the currently widely used <a href="Public-key_cryptosystem" class="mw-redirect" title="Public-key cryptosystem">public-key cryptosystems</a> like <a href="RSA_(cryptosystem)" class="mw-redirect" title="RSA (cryptosystem)">RSA cryptosystem</a>, <a href="Diffie%E2%80%93Hellman_key_exchange" title="Diffie–Hellman key exchange">Diffie–Hellman key exchange</a> and <a href="Elliptic_curve_cryptography" class="mw-redirect" title="Elliptic curve cryptography">elliptic curve cryptography</a> are based on number theory and hence depend on commutative algebraic structures.
</p><p>Non-commutative cryptographic protocols have been developed for solving various cryptographic problems like <a href="Key_exchange" title="Key exchange">key exchange</a>, <a href="Encryption" title="Encryption">encryption</a>-decryption, and <a href="Authentication" title="Authentication">authentication</a>. These protocols are very similar to the corresponding protocols in the commutative case.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Some_non-commutative_cryptographic_protocols">Some non-commutative cryptographic protocols</h2></div>
<p>In these protocols it would be assumed that <i>G</i> is a <a href="Non-abelian_group" title="Non-abelian group">non-abelian</a> group. If <i>w</i> and <i>a</i> are elements of <i>G</i> the notation <i>w</i><sup><i>a</i></sup> would indicate the element <i>a<sup>−1</sup>wa</i>.
</p>
<div class="mw-heading mw-heading3"><h3 id="Protocols_for_key_exchange">Protocols for key exchange</h3></div>
<div class="mw-heading mw-heading4"><h4 id="Protocol_due_to_Ko,_Lee,_et_al.">Protocol due to Ko, Lee, et al.</h4></div>
<p>The following protocol due to Ko, Lee, et al., establishes a common <a href="Secret_key" class="mw-redirect" title="Secret key">secret key</a> <i>K</i> for <a href="Alice_and_Bob" title="Alice and Bob">Alice and Bob</a>.
</p>
<ol><li>An element <i>w</i> of <i>G</i> is published.</li>
<li>Two <a href="Subgroup" title="Subgroup">subgroups</a> <i>A</i> and <i>B</i> of <i>G</i> such that <i>ab</i> = <i>ba</i> for all <i>a</i> in <i>A</i> and <i>b</i> in <i>B</i> are published.</li>
<li>Alice chooses an element <i>a</i> from <i>A</i> and sends <i>w<sup>a</sup></i> to Bob. Alice keeps <i>a</i> private.</li>
<li>Bob chooses an element <i>b</i> from <i>B</i> and sends <i>w<sup>b</sup></i> to Alice. Bob keeps <i>b</i> private.</li>
<li>Alice computes <i>K</i> = (<i>w</i><sup><i>b</i></sup>)<sup>a</sup> = <i>w</i><sup><i>ba</i></sup>.</li>
<li>Bob computes <i>K'</i> = (<i>w</i><sup><i>a</i></sup>)<sup><i>b</i></sup>=<i>w</i><sup><i>ab</i></sup>.</li>
<li>Since <i>ab</i> = <i>ba</i>, <i>K</i> = <i>K'</i>. Alice and Bob share the common secret key <i>K</i>.</li></ol>
<div class="mw-heading mw-heading4"><h4 id="Anshel-Anshel-Goldfeld_protocol">Anshel-Anshel-Goldfeld protocol</h4></div>
<style data-mw-deduplicate="TemplateStyles:r1236090951">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="Anshel-Anshel-Goldfeld_key_exchange" class="mw-redirect" title="Anshel-Anshel-Goldfeld key exchange">Anshel-Anshel-Goldfeld key exchange</a></div>
<p>This a key exchange protocol using a non-abelian group <i>G</i>. It is significant because it does not require two commuting subgroups <i>A</i> and <i>B</i> of <i>G</i> as in the case of the protocol due to Ko, Lee, et al.
</p>
<ol><li>Elements <i>a</i><sub>1</sub>, <i>a</i><sub>2</sub>, . . . , <i>a</i><sub><i>k</i></sub>, <i>b</i><sub>1</sub>, <i>b</i><sub>2</sub>, . . . , <i>b</i><sub><i>m</i></sub> from <i>G</i> are selected and published.</li>
<li>Alice picks a private <i>x</i> in <i>G</i> as a <a href="Word_(group_theory)" title="Word (group theory)">word</a> in <i>a</i><sub>1</sub>, <i>a</i><sub>2</sub>, . . . , <i>a</i><sub><i>k</i></sub>; that is, <i>x</i> = <i>x</i>( <i>a</i><sub>1</sub>, <i>a</i><sub>2</sub>, . . . , <i>a</i><sub><i>k</i></sub> ).</li>
<li>Alice sends <i>b</i><sub>1</sub><sup><i>x</i></sup>, <i>b</i><sub>2</sub><sup><i>x</i></sup>, . . . , <i>b</i><sub><i>m</i></sub><sup><i>x</i></sup> to Bob.</li>
<li>Bob picks a private <i>y</i> in <i>G</i> as a <a href="Word_(group_theory)" title="Word (group theory)">word</a> in <i>b</i><sub>1</sub>, <i>b</i><sub>2</sub>, . . . , <i>b</i><sub><i>m</i></sub>; that is <i>y</i> = <i>y</i> ( <i>b</i><sub>1</sub>, <i>b</i><sub>2</sub>, . . . , <i>b</i><sub><i>m</i></sub> ).</li>
<li>Bob sends <i>a</i><sub>1</sub><sup><i>y</i></sup>, <i>a</i><sub>2</sub><sup><i>y</i></sup>, . . . , <i>a</i><sub><i>k</i></sub><sup><i>y</i></sup> to Alice.</li>
<li>Alice and Bob share the common secret key <i>K</i> = <i>x</i><sup>−1</sup><i>y</i><sup>−1</sup><i>xy</i>.</li>
<li>Alice computes <i>x</i> ( <i>a</i><sub>1</sub><sup><i>y</i></sup>, <i>a</i><sub>2</sub><sup><i>y</i></sup>, . . . , <i>a</i><sub><i>k</i></sub><sup><i>y</i></sup> ) = <i>y</i><sup>−1</sup> <i>xy</i>. Pre-multiplying it with <i>x</i><sup>−1</sup>, Alice gets <i>K</i>.</li>
<li>Bob computes <i>y</i> ( <i>b</i><sub>1</sub><sup><i>x</i></sup>, <i>b</i><sub>2</sub><sup><i>x</i></sup>, . . . , <i>b</i><sub><i>m</i></sub><sup><i>x</i></sup>) = <i>x</i><sup>−1</sup><i>yx</i>. Pre-multiplying it with <i>y</i><sup>−1</sup> and then taking the inverse, Bob gets <i>K</i>.</li></ol>
<div class="mw-heading mw-heading4"><h4 id="Stickel's_key_exchange_protocol">Stickel's key exchange protocol</h4></div>
<p>In the original formulation of this protocol the group used was the group of <a href="Invertible_matrix" title="Invertible matrix">invertible matrices</a> over a <a href="Finite_field" title="Finite field">finite field</a>.
</p>
<ol><li>Let <i>G</i> be a public non-abelian <a href="Finite_group" title="Finite group">finite group</a>.</li>
<li>Let <i>a</i>, <i>b</i> be public elements of <i>G</i> such that <i>ab</i> ≠ <i>ba</i>. Let the orders of <i>a</i> and <i>b</i> be <i>N</i> and <i>M</i> respectively.</li>
<li>Alice chooses two random numbers <i>n</i> &lt; <i>N</i> and <i>m</i> &lt; <i>M</i> and sends <i>u</i> = <i>a</i><sup><i>m</i></sup><i>b</i><sup><i>n</i></sup> to Bob.</li>
<li>Bob picks two random numbers <i>r</i> &lt; <i>N</i> and <i>s</i> &lt; <i>M</i> and sends <i>v</i> = <i>a</i><sup><i>r</i></sup><i>b</i><sup><i>s</i></sup> to Alice.</li>
<li>The common key shared by Alice and Bob is <i>K</i> = <i>a</i><sup><i>m</i> + <i>r</i></sup><i>b</i><sup><i>n</i> + <i>s</i></sup>.</li>
<li>Alice computes the key by <i>K</i> = a<sup><i>m</i></sup><i>vb</i><sup><i>n</i></sup>.</li>
<li>Bob computes the key by <i>K</i> = <i>a</i><sup><i>r</i></sup><i>ub</i><sup><i>s</i></sup>.</li></ol>
<div class="mw-heading mw-heading3"><h3 id="Protocols_for_encryption_and_decryption">Protocols for encryption and decryption</h3></div>
<p>This protocol describes how to <a href="Encryption" title="Encryption">encrypt</a> a secret message and then <a href="Decryption" class="mw-redirect" title="Decryption">decrypt</a> using a non-commutative group. Let Alice want to send a secret message <i>m</i> to Bob.
</p>
<ol><li>Let <i>G</i> be a non-commutative group. Let <i>A</i> and <i>B</i> be public subgroups of <i>G</i> such that <i>ab</i> = <i>ba</i> for all <i>a</i> in <i>A</i> and <i>b</i> in <i>B</i>.</li>
<li>An element <i>x</i> from <i>G</i> is chosen and published.</li>
<li>Bob chooses a secret key <i>b</i> from <i>A</i> and publishes <i>z</i> = <i>x</i><sup><i>b</i></sup> as his public key.</li>
<li>Alice chooses a random <i>r</i> from <i>B</i> and computes <i>t</i> = <i>z</i><sup><i>r</i></sup>.</li>
<li>The encrypted message is <i>C</i> = (<i>x</i><sup><i>r</i></sup>, <i>H</i>(<i>t</i>) <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \oplus }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo>⊕<!-- ⊕ --></mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \oplus }</annotation>
</semantics>
</math></span><img src="./8b16e2bdaefee9eed86d866e6eba3ac47c710f60.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:1.808ex; height:2.176ex;" alt="{\displaystyle \oplus }" loading="lazy"></span> <i>m</i>), where <i>H</i> is some <a href="Hash_function" title="Hash function">hash function</a> and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \oplus }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo>⊕<!-- ⊕ --></mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \oplus }</annotation>
</semantics>
</math></span><img src="./8b16e2bdaefee9eed86d866e6eba3ac47c710f60.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:1.808ex; height:2.176ex;" alt="{\displaystyle \oplus }" loading="lazy"></span> denotes the <a href="XOR" class="mw-redirect" title="XOR">XOR</a> operation. Alice sends <i>C</i> to Bob.</li>
<li>To decrypt <i>C</i>, Bob recovers <i>t</i> as follows: (<i>x</i><sup><i>r</i></sup>)<sup><i>b</i></sup> = <i>x</i><sup><i>rb</i></sup> = <i>x</i><sup><i>br</i></sup> = (<i>x</i><sup><i>b</i></sup>)<sup><i>r</i></sup> = <i>z</i><sup><i>r</i></sup> = <i>t</i>. The plain text message send by Alice is <i>P</i> = ( <i>H</i>(<i>t</i>) <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \oplus }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo>⊕<!-- ⊕ --></mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \oplus }</annotation>
</semantics>
</math></span><img src="./8b16e2bdaefee9eed86d866e6eba3ac47c710f60.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:1.808ex; height:2.176ex;" alt="{\displaystyle \oplus }" loading="lazy"></span> <i>m</i> ) <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \oplus }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo>⊕<!-- ⊕ --></mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \oplus }</annotation>
</semantics>
</math></span><img src="./8b16e2bdaefee9eed86d866e6eba3ac47c710f60.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:1.808ex; height:2.176ex;" alt="{\displaystyle \oplus }" loading="lazy"></span> <i>H</i>(<i>t</i>) = <i>m</i>.</li></ol>
<div class="mw-heading mw-heading3"><h3 id="Protocols_for_authentication">Protocols for authentication</h3></div>
<p>Let Bob want to check whether the sender of a message is really Alice.
</p>
<ol><li>Let <i>G</i> be a non-commutative group and let <i>A</i> and <i>B</i> be subgroups of <i>G</i> such that <i>ab</i> = <i>ba</i> for all <i>a</i> in <i>A</i> and <i>b</i> in <i>B</i>.</li>
<li>An element <i>w</i> from <i>G</i> is selected and published.</li>
<li>Alice chooses a private <i>s</i> from <i>A</i> and publishes the pair ( <i>w</i>, <i>t</i> ) where <i>t</i> = <i>w</i> <sup><i>s</i></sup>.</li>
<li>Bob chooses an <i>r</i> from <i>B</i> and sends a challenge <i>w</i>′ = <i>w</i><sup><i>r</i></sup> to Alice.</li>
<li>Alice sends the response <i>w</i>′′ = (<i>w</i>′)<sup><i>s</i></sup> to Bob.</li>
<li>Bob checks if <i>w</i>′′ = <i>t</i><sup><i>r</i></sup>. If this true, then the identity of Alice is established.</li></ol>
<div class="mw-heading mw-heading2"><h2 id="Security_basis_of_the_protocols">Security basis of the protocols</h2></div>
<p>The basis for the security and strength of the various protocols presented above is the difficulty of the following two problems:
</p>
<ul><li>The <i><a href="Conjugacy_problem" title="Conjugacy problem">conjugacy decision problem</a></i> (also called the <i>conjugacy problem</i>): Given two elements <i>u</i> and <i>v</i> in a group <i>G</i> determine whether there exists an element <i>x</i> in <i>G</i> such that <i>v</i> = <i>u</i><sup><i>x</i></sup>, that is, such that <i>v</i> = <i>x</i><sup>−1</sup> <i>ux</i>.</li>
<li>The <i>conjugacy search problem</i>: Given two elements <i>u</i> and <i>v</i> in a group <i>G</i> find an element <i>x</i> in <i>G</i> such that <i>v</i> = <i>u</i><sup><i>x</i></sup>, that is, such that <i>v</i> = <i>x</i><sup>−1</sup> <i>ux</i>.</li></ul>
<p>If no algorithm is known to solve the conjugacy search problem, then the function <i>x</i> → <i>u</i><sup><i>x</i></sup> can be considered as a <a href="One-way_function" title="One-way function">one-way function</a>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Platform_groups">Platform groups</h2></div>
<p>A non-commutative group that is used in a particular cryptographic protocol is called the platform group of that protocol. Only groups having certain properties can be used as the platform groups for the implementation of non-commutative cryptographic protocols. Let <i>G</i> be a group suggested as a platform group for a certain non-commutative cryptographic system. The following is a list of the properties expected of <i>G</i>.
</p>
<ol><li>The group <i>G</i> must be well-known and well-studied.</li>
<li>The <a href="Word_problem_for_groups" title="Word problem for groups">word problem</a> in <i>G</i> should have a fast solution by a deterministic algorithm. There should be an efficiently computable "normal form" for elements of <i>G</i>.</li>
<li>It should be impossible to recover the factors <i>x</i> and <i>y</i> from the product <i>xy</i> in <i>G</i>.</li>
<li>The number of elements of length <i>n</i> in <i>G</i> should grow faster than any polynomial in <i>n</i>. (Here "length <i>n</i>" is the length of a word representing a group element.)</li></ol>
<div class="mw-heading mw-heading2"><h2 id="Examples_of_platform_groups">Examples of platform groups</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Braid_groups">Braid groups</h3></div>
<div role="note" class="hatnote navigation-not-searchable">Main article: <a href="Braid_group" title="Braid group">Braid group</a></div>
<p>Let <i>n</i> be a positive integer. The braid group <i>B</i><sub><i>n</i></sub> is a group generated by <i>x</i><sub>1</sub>, <i>x</i><sub>2</sub>, . . . , <i>x</i><sub><i>n</i>−1</sub> having the following presentation:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle B_{n}=\left\langle x_{1},x_{2},\ldots ,x_{n-1}{\big |}x_{i}x_{j}=x_{j}x_{i}{\text{ if }}|i-j|>1{\text{ and }}x_{i}x_{j}x_{i}=x_{j}x_{i}x_{j}{\text{ if }}|i-j|=1\right\rangle }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>B</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msub>
<mo>=</mo>
<mrow>
<mo>⟨</mo>
<mrow>
<msub>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<msub>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msub>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mo maxsize="1.2em" minsize="1.2em">|</mo>
</mrow>
</mrow>
<msub>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<msub>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
<msub>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<mrow class="MJX-TeXAtom-ORD">
<mtext>&nbsp;if&nbsp;</mtext>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<mi>i</mi>
<mo>−<!-- − --></mo>
<mi>j</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<mo>&gt;</mo>
<mn>1</mn>
<mrow class="MJX-TeXAtom-ORD">
<mtext>&nbsp;and&nbsp;</mtext>
</mrow>
<msub>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<msub>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
<msub>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
<msub>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<msub>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
<mrow class="MJX-TeXAtom-ORD">
<mtext>&nbsp;if&nbsp;</mtext>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<mi>i</mi>
<mo>−<!-- − --></mo>
<mi>j</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mo>⟩</mo>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle B_{n}=\left\langle x_{1},x_{2},\ldots ,x_{n-1}{\big |}x_{i}x_{j}=x_{j}x_{i}{\text{ if }}|i-j|&gt;1{\text{ and }}x_{i}x_{j}x_{i}=x_{j}x_{i}x_{j}{\text{ if }}|i-j|=1\right\rangle }</annotation>
</semantics>
</math></span><img src="./8325a419c626ffd984b3c8849d28ddde9ffe03aa.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:82.852ex; height:3.176ex;" alt="{\displaystyle B_{n}=\left\langle x_{1},x_{2},\ldots ,x_{n-1}{\big |}x_{i}x_{j}=x_{j}x_{i}{\text{ if }}|i-j|>1{\text{ and }}x_{i}x_{j}x_{i}=x_{j}x_{i}x_{j}{\text{ if }}|i-j|=1\right\rangle }" loading="lazy"></span></dd></dl>
<div class="mw-heading mw-heading3"><h3 id="Thompson's_group">Thompson's group</h3></div>
<div role="note" class="hatnote navigation-not-searchable">Main article: <a href="Thompson_groups" title="Thompson groups">Thompson groups</a></div>
<p>Thompson's group is an infinite group <i>F</i> having the following infinite presentation:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle F=\left\langle x_{0},x_{1},x_{2},\ldots {\big |}x_{k}^{-1}x_{n}x_{k}=x_{n+1}{\text{ for }}k<n\right\rangle }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>F</mi>
<mo>=</mo>
<mrow>
<mo>⟨</mo>
<mrow>
<msub>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mo maxsize="1.2em" minsize="1.2em">|</mo>
</mrow>
</mrow>
<msubsup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msubsup>
<msub>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msub>
<msub>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</msub>
<mrow class="MJX-TeXAtom-ORD">
<mtext>&nbsp;for&nbsp;</mtext>
</mrow>
<mi>k</mi>
<mo>&lt;</mo>
<mi>n</mi>
</mrow>
<mo>⟩</mo>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle F=\left\langle x_{0},x_{1},x_{2},\ldots {\big |}x_{k}^{-1}x_{n}x_{k}=x_{n+1}{\text{ for }}k&lt;n\right\rangle }</annotation>
</semantics>
</math></span><img src="./88b0738c79a84db684699268509ba446c4907f91.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:47.073ex; height:3.343ex;" alt="{\displaystyle F=\left\langle x_{0},x_{1},x_{2},\ldots {\big |}x_{k}^{-1}x_{n}x_{k}=x_{n+1}{\text{ for }}k<n\right\rangle }" loading="lazy"></span></dd></dl>
<div class="mw-heading mw-heading3"><h3 id="Grigorchuk's_group">Grigorchuk's group</h3></div>
<div role="note" class="hatnote navigation-not-searchable">Main article: <a href="Grigorchuk's_group" class="mw-redirect" title="Grigorchuk's group">Grigorchuk's group</a></div>
<p>Let <i>T</i> denote the infinite <a href="Rooted_tree" class="mw-redirect" title="Rooted tree">rooted</a> <a href="Binary_tree" title="Binary tree">binary tree</a>. The set <i>V</i> of vertices is the set of all finite binary sequences. Let <i>A</i>(<i>T</i>) denote the set of all automorphisms of <i>T</i>. (An automorphism of <i>T</i> permutes vertices preserving connectedness.) The Grigorchuk's group Γ is the subgroup of <i>A</i>(<i>T</i>) generated by the automorphisms <i>a</i>, <i>b</i>, <i>c</i>, <i>d</i> defined as follows:
</p>
<ul><li><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle a(b_{1},b_{2},\ldots ,b_{n})=(1-b_{1},b_{2},\ldots ,b_{n})}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>a</mi>
<mo stretchy="false">(</mo>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mo stretchy="false">(</mo>
<mn>1</mn>
<mo>−<!-- − --></mo>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle a(b_{1},b_{2},\ldots ,b_{n})=(1-b_{1},b_{2},\ldots ,b_{n})}</annotation>
</semantics>
</math></span><img src="./39809a14805c8360d39d440892758468267e93ba.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:37.013ex; height:2.843ex;" alt="{\displaystyle a(b_{1},b_{2},\ldots ,b_{n})=(1-b_{1},b_{2},\ldots ,b_{n})}" loading="lazy"></span></li>
<li><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle b(b_{1},b_{2},\ldots ,b_{n})={\begin{cases}(b_{1},1-b_{2},\ldots ,b_{n})&amp;{\text{ if }}b_{1}=0\\(b_{1},c(b_{2},\ldots ,b_{n}))&amp;{\text{ if }}b_{1}=1\end{cases}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>b</mi>
<mo stretchy="false">(</mo>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>{</mo>
<mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false">
<mtr>
<mtd>
<mo stretchy="false">(</mo>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<mn>1</mn>
<mo>−<!-- − --></mo>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
</mtd>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mtext>&nbsp;if&nbsp;</mtext>
</mrow>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>=</mo>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mo stretchy="false">(</mo>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<mi>c</mi>
<mo stretchy="false">(</mo>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
<mo stretchy="false">)</mo>
</mtd>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mtext>&nbsp;if&nbsp;</mtext>
</mrow>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>=</mo>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
<mo fence="true" stretchy="true" symmetric="true"></mo>
</mrow>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle b(b_{1},b_{2},\ldots ,b_{n})={\begin{cases}(b_{1},1-b_{2},\ldots ,b_{n})&amp;{\text{ if }}b_{1}=0\\(b_{1},c(b_{2},\ldots ,b_{n}))&amp;{\text{ if }}b_{1}=1\end{cases}}}</annotation>
</semantics>
</math></span><img src="./fbf8ee121b56eaaf1ab72bdb3d2ccbb50784bcbd.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.505ex; width:50.431ex; height:6.176ex;" alt="{\displaystyle b(b_{1},b_{2},\ldots ,b_{n})={\begin{cases}(b_{1},1-b_{2},\ldots ,b_{n})&amp;{\text{ if }}b_{1}=0\\(b_{1},c(b_{2},\ldots ,b_{n}))&amp;{\text{ if }}b_{1}=1\end{cases}}}" loading="lazy"></span></li>
<li><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle c(b_{1},b_{2},\ldots ,b_{n})={\begin{cases}(b_{1},1-b_{2},\ldots ,b_{n})&amp;{\text{ if }}b_{1}=0\\(b_{1},d(b_{2},\ldots ,b_{n}))&amp;{\text{ if }}b_{1}=1\end{cases}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>c</mi>
<mo stretchy="false">(</mo>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>{</mo>
<mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false">
<mtr>
<mtd>
<mo stretchy="false">(</mo>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<mn>1</mn>
<mo>−<!-- − --></mo>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
</mtd>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mtext>&nbsp;if&nbsp;</mtext>
</mrow>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>=</mo>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mo stretchy="false">(</mo>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<mi>d</mi>
<mo stretchy="false">(</mo>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
<mo stretchy="false">)</mo>
</mtd>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mtext>&nbsp;if&nbsp;</mtext>
</mrow>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>=</mo>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
<mo fence="true" stretchy="true" symmetric="true"></mo>
</mrow>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle c(b_{1},b_{2},\ldots ,b_{n})={\begin{cases}(b_{1},1-b_{2},\ldots ,b_{n})&amp;{\text{ if }}b_{1}=0\\(b_{1},d(b_{2},\ldots ,b_{n}))&amp;{\text{ if }}b_{1}=1\end{cases}}}</annotation>
</semantics>
</math></span><img src="./94b27bb6857a0d4508a92786a8cc79ee993d0443.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.505ex; width:50.44ex; height:6.176ex;" alt="{\displaystyle c(b_{1},b_{2},\ldots ,b_{n})={\begin{cases}(b_{1},1-b_{2},\ldots ,b_{n})&amp;{\text{ if }}b_{1}=0\\(b_{1},d(b_{2},\ldots ,b_{n}))&amp;{\text{ if }}b_{1}=1\end{cases}}}" loading="lazy"></span></li>
<li><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle d(b_{1},b_{2},\ldots ,b_{n})={\begin{cases}(b_{1},b_{2},\ldots ,b_{n})&amp;{\text{ if }}b_{1}=0\\(b_{1},b(b_{2},\ldots ,b_{n}))&amp;{\text{ if }}b_{1}=1\end{cases}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>d</mi>
<mo stretchy="false">(</mo>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>{</mo>
<mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false">
<mtr>
<mtd>
<mo stretchy="false">(</mo>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
</mtd>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mtext>&nbsp;if&nbsp;</mtext>
</mrow>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>=</mo>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mo stretchy="false">(</mo>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<mi>b</mi>
<mo stretchy="false">(</mo>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
<mo stretchy="false">)</mo>
</mtd>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mtext>&nbsp;if&nbsp;</mtext>
</mrow>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>=</mo>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
<mo fence="true" stretchy="true" symmetric="true"></mo>
</mrow>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle d(b_{1},b_{2},\ldots ,b_{n})={\begin{cases}(b_{1},b_{2},\ldots ,b_{n})&amp;{\text{ if }}b_{1}=0\\(b_{1},b(b_{2},\ldots ,b_{n}))&amp;{\text{ if }}b_{1}=1\end{cases}}}</annotation>
</semantics>
</math></span><img src="./44138988eda495f5c2eb83c04feeb904ac6ad190.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.505ex; width:49.453ex; height:6.176ex;" alt="{\displaystyle d(b_{1},b_{2},\ldots ,b_{n})={\begin{cases}(b_{1},b_{2},\ldots ,b_{n})&amp;{\text{ if }}b_{1}=0\\(b_{1},b(b_{2},\ldots ,b_{n}))&amp;{\text{ if }}b_{1}=1\end{cases}}}" loading="lazy"></span></li></ul>
<div class="mw-heading mw-heading3"><h3 id="Artin_group">Artin group</h3></div>
<div role="note" class="hatnote navigation-not-searchable">Main article: <a href="Artin_group" class="mw-redirect" title="Artin group">Artin group</a></div>
<p>An Artin group <i>A</i>(Γ) is a group with the following presentation:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle A(\Gamma )=\left\langle a_{1},a_{2},\ldots ,a_{n}|\mu _{ij}=\mu _{ji}{\text{ for }}1\leq i<j\leq n\right\rangle }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>A</mi>
<mo stretchy="false">(</mo>
<mi mathvariant="normal">Γ<!-- Γ --></mi>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mrow>
<mo>⟨</mo>
<mrow>
<msub>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<msub>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msub>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<msub>
<mi>μ<!-- μ --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mi>μ<!-- μ --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>i</mi>
</mrow>
</msub>
<mrow class="MJX-TeXAtom-ORD">
<mtext>&nbsp;for&nbsp;</mtext>
</mrow>
<mn>1</mn>
<mo>≤<!-- ≤ --></mo>
<mi>i</mi>
<mo>&lt;</mo>
<mi>j</mi>
<mo>≤<!-- ≤ --></mo>
<mi>n</mi>
</mrow>
<mo>⟩</mo>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle A(\Gamma )=\left\langle a_{1},a_{2},\ldots ,a_{n}|\mu _{ij}=\mu _{ji}{\text{ for }}1\leq i&lt;j\leq n\right\rangle }</annotation>
</semantics>
</math></span><img src="./83ad8ea5c94f8fa0debd1cffccd98244f46df862.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:50.205ex; height:3.009ex;" alt="{\displaystyle A(\Gamma )=\left\langle a_{1},a_{2},\ldots ,a_{n}|\mu _{ij}=\mu _{ji}{\text{ for }}1\leq i<j\leq n\right\rangle }" loading="lazy"></span></dd></dl>
<p>where <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mu _{ij}=a_{i}a_{j}a_{i}\ldots }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>μ<!-- μ --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<msub>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
<msub>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<mo>…<!-- … --></mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mu _{ij}=a_{i}a_{j}a_{i}\ldots }</annotation>
</semantics>
</math></span><img src="./38b5a7fafb25cde5b54c7a268e2ee58a2d1622fc.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:15.286ex; height:2.343ex;" alt="{\displaystyle \mu _{ij}=a_{i}a_{j}a_{i}\ldots }" loading="lazy"></span> (<span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle m_{ij}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>m</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle m_{ij}}</annotation>
</semantics>
</math></span><img src="./cd6f1bb2d6548dca472922bcbcb77e7ad3a5b4df.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:3.518ex; height:2.343ex;" alt="{\displaystyle m_{ij}}" loading="lazy"></span> factors) and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle m_{ij}=m_{ji}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>m</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mi>m</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mi>i</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle m_{ij}=m_{ji}}</annotation>
</semantics>
</math></span><img src="./540501dde83cd4b74d24f29e8c0a5e614a63e794.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:10.134ex; height:2.343ex;" alt="{\displaystyle m_{ij}=m_{ji}}" loading="lazy"></span>.
</p>
<div class="mw-heading mw-heading3"><h3 id="Matrix_groups">Matrix groups</h3></div>
<div role="note" class="hatnote navigation-not-searchable">Main article: <a href="Matrix_group" class="mw-redirect" title="Matrix group">Matrix group</a></div>
<p>Let <i>F</i> be a finite field. Groups of matrices over <i>F</i> have been used as the platform groups of certain non-commutative cryptographic protocols.
</p>
<div class="mw-heading mw-heading3"><h3 id="Semidirect_products">Semidirect products</h3></div>
<div role="note" class="hatnote navigation-not-searchable">Main article: <a href="Semidirect_product" title="Semidirect product">Semidirect product</a></div>
<p><sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="Group-based_cryptography" title="Group-based cryptography">Group-based cryptography</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */


.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}


/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */


.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}


/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFHabeebKahrobaeiKoupparisShpilrain2013" class="citation book cs1">Habeeb, M.; <a href="Delaram_Kahrobaei" title="Delaram Kahrobaei">Kahrobaei, D.</a>; Koupparis, C.; Shpilrain, V. (2013). "Public Key Exchange Using Semidirect Product of (Semi)Groups". <i>Applied Cryptography and Network Security. ACNS 2013</i>. Lecture Notes in Computer Science. Vol.&nbsp;7954. Springer. pp.&nbsp;<span class="nowrap">475–</span>486. <a href="ArXiv_(identifier)" class="mw-redirect" title="ArXiv (identifier)">arXiv</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://arxiv.org/abs/1304.6572">1304.6572</a></span>. <a href="CiteSeerX_(identifier)" class="mw-redirect" title="CiteSeerX (identifier)">CiteSeerX</a>&nbsp;<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.769.1289">10.1.1.769.1289</a></span>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F978-3-642-38980-1_30">10.1007/978-3-642-38980-1_30</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-3-642-38980-1</bdi>.</cite></span>
</li>
</ol></div></div>
<div class="mw-heading mw-heading2"><h2 id="Further_reading">Further reading</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239549316">
/* start https://en.wikipedia.org/ */


.mw-parser-output .refbegin{margin-bottom:0.5em}.mw-parser-output .refbegin-hanging-indents>ul{margin-left:0}.mw-parser-output .refbegin-hanging-indents>ul>li{margin-left:0;padding-left:3.2em;text-indent:-3.2em}.mw-parser-output .refbegin-hanging-indents ul,.mw-parser-output .refbegin-hanging-indents ul li{list-style:none}@media(max-width:720px){.mw-parser-output .refbegin-hanging-indents>ul>li{padding-left:1.6em;text-indent:-1.6em}}.mw-parser-output .refbegin-columns{margin-top:0.3em}.mw-parser-output .refbegin-columns ul{margin-top:0}.mw-parser-output .refbegin-columns li{page-break-inside:avoid;break-inside:avoid-column}@media screen{.mw-parser-output .refbegin{font-size:90%}}


/* end https://en.wikipedia.org/ */
</style><div class="refbegin" style="">
<ol><li><cite id="CITEREFMyasnikovShpilrainUshakov2008" class="citation book cs1">Myasnikov, Alexei; Shpilrain, Vladimir; Ushakov, Alexander (2008). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=mEa3BAAAQBAJ&amp;pg=PR7"><i>Group-based Cryptography</i></a>. Birkhäuser Verlag. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>9783764388270</bdi>.</cite></li>
<li><cite id="CITEREFCao2012" class="citation book cs1">Cao, Zhenfu (2012). <i>New Directions of Modern Cryptography</i>. CRC Press. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-1-4665-0140-9</bdi>.</cite></li>
<li><cite id="CITEREFBenjamin_Fine2011" class="citation arxiv cs1">Benjamin Fine; et&nbsp;al. (2011). "Aspects of Nonabelian Group Based Cryptography: A Survey and Open Problems". <a href="ArXiv_(identifier)" class="mw-redirect" title="ArXiv (identifier)">arXiv</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://arxiv.org/abs/1103.4093">1103.4093</a></span> [<a rel="nofollow" class="external text" href="https://arxiv.org/archive/cs.CR">cs.CR</a>].</cite></li>
<li><cite id="CITEREFMyasnikovShpilrainUshakov2011" class="citation book cs1">Myasnikov, Alexei G.; Shpilrain, Vladimir; Ushakov, Alexander (2011). <i>Non-commutative Cryptography and Complexity of Group-theoretic Problems</i>. American Mathematical Society. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>9780821853603</bdi>.</cite></li></ol>
</div>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}


/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}


/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-label="Navbox0" style="padding:3px"><table class="nowraplinks hlist navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Public-key_cryptography64" style="font-size:114%;margin:0 4em"><a href="Public-key_cryptography" title="Public-key cryptography">Public-key cryptography</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Algorithms</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group wraplinks" style="width:1%"><a href="Integer_factorization" title="Integer factorization">Integer factorization</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Benaloh_cryptosystem" title="Benaloh cryptosystem">Benaloh</a></li>
<li><a href="Blum%E2%80%93Goldwasser_cryptosystem" title="Blum–Goldwasser cryptosystem">Blum–Goldwasser</a></li>
<li><a href="Cayley%E2%80%93Purser_algorithm" title="Cayley–Purser algorithm">Cayley–Purser</a></li>
<li><a href="Damg%C3%A5rd%E2%80%93Jurik_cryptosystem" title="Damgård–Jurik cryptosystem">Damgård–Jurik</a></li>
<li><a href="GMR_(cryptography)" title="GMR (cryptography)">GMR</a></li>
<li><a href="Goldwasser%E2%80%93Micali_cryptosystem" title="Goldwasser–Micali cryptosystem">Goldwasser–Micali</a></li>
<li><a href="Naccache%E2%80%93Stern_cryptosystem" title="Naccache–Stern cryptosystem">Naccache–Stern</a></li>
<li><a href="Paillier_cryptosystem" title="Paillier cryptosystem">Paillier</a></li>
<li><a href="Rabin_signature" class="mw-redirect" title="Rabin signature">Rabin</a></li>
<li><a href="RSA_cryptosystem" title="RSA cryptosystem">RSA</a></li>
<li><a href="Okamoto%E2%80%93Uchiyama_cryptosystem" title="Okamoto–Uchiyama cryptosystem">Okamoto–Uchiyama</a></li>
<li><a href="Schmidt-Samoa_cryptosystem" title="Schmidt-Samoa cryptosystem">Schmidt–Samoa</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group wraplinks" style="width:1%"><a href="Discrete_logarithm" title="Discrete logarithm">Discrete logarithm</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Boneh%E2%80%93Lynn%E2%80%93Shacham" class="mw-redirect" title="Boneh–Lynn–Shacham">BLS</a></li>
<li><a href="Cramer%E2%80%93Shoup_cryptosystem" title="Cramer–Shoup cryptosystem">Cramer–Shoup</a></li>
<li><a href="Diffie%E2%80%93Hellman_key_exchange" title="Diffie–Hellman key exchange">DH</a></li>
<li><a href="Digital_Signature_Algorithm" title="Digital Signature Algorithm">DSA</a></li>
<li><a href="Elliptic-curve_Diffie%E2%80%93Hellman" title="Elliptic-curve Diffie–Hellman">ECDH</a>
<ul><li><a href="Curve25519" title="Curve25519">X25519</a></li>
<li><a href="Curve448" title="Curve448">X448</a></li></ul></li>
<li><a href="Elliptic_Curve_Digital_Signature_Algorithm" title="Elliptic Curve Digital Signature Algorithm">ECDSA</a></li>
<li><a href="EdDSA" title="EdDSA">EdDSA</a>
<ul><li><a href="EdDSA#Ed25519" title="EdDSA">Ed25519</a></li>
<li><a href="EdDSA#Ed448" title="EdDSA">Ed448</a></li></ul></li>
<li><a href="ECMQV" class="mw-redirect" title="ECMQV">ECMQV</a></li>
<li><a href="Encrypted_key_exchange" title="Encrypted key exchange">EKE</a></li>
<li><a href="ElGamal_encryption" title="ElGamal encryption">ElGamal</a>
<ul><li><a href="ElGamal_signature_scheme" title="ElGamal signature scheme">signature scheme</a></li></ul></li>
<li><a href="MQV" title="MQV">MQV</a></li>
<li><a href="Schnorr_signature" title="Schnorr signature">Schnorr</a></li>
<li><a href="SPEKE" title="SPEKE">SPEKE</a></li>
<li><a href="Secure_Remote_Password_protocol" title="Secure Remote Password protocol">SRP</a></li>
<li><a href="Station-to-Station_protocol" title="Station-to-Station protocol">STS</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group wraplinks" style="width:1%"><a href="Lattice-based_cryptography" title="Lattice-based cryptography">Lattice/SVP/CVP</a>/<wbr><a href="Learning_with_errors" title="Learning with errors">LWE</a>/<wbr><a href="Short_integer_solution_problem" title="Short integer solution problem">SIS</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="BLISS_signature_scheme" title="BLISS signature scheme">BLISS</a></li>
<li><a href="Kyber" title="Kyber">Kyber</a></li>
<li><a href="NewHope" title="NewHope">NewHope</a></li>
<li><a href="NTRUEncrypt" title="NTRUEncrypt">NTRUEncrypt</a></li>
<li><a href="NTRUSign" title="NTRUSign">NTRUSign</a></li>
<li><a href="RLWE-KEX" class="mw-redirect" title="RLWE-KEX">RLWE-KEX</a></li>
<li><a href="RLWE-SIG" class="mw-redirect" title="RLWE-SIG">RLWE-SIG</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group wraplinks" style="width:1%">Others</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Algebraic_Eraser" title="Algebraic Eraser">AE</a></li>
<li><a href="CEILIDH" title="CEILIDH">CEILIDH</a></li>
<li><a href="Efficient_Probabilistic_Public-Key_Encryption_Scheme" title="Efficient Probabilistic Public-Key Encryption Scheme">EPOC</a></li>
<li><a href="Hidden_Field_Equations" title="Hidden Field Equations">HFE</a></li>
<li><a href="Integrated_Encryption_Scheme" title="Integrated Encryption Scheme">IES</a></li>
<li><a href="Lamport_signature" title="Lamport signature">Lamport</a></li>
<li><a href="McEliece_cryptosystem" title="McEliece cryptosystem">McEliece</a></li>
<li><a href="Merkle%E2%80%93Hellman_knapsack_cryptosystem" title="Merkle–Hellman knapsack cryptosystem">Merkle–Hellman</a></li>
<li><span class="wraplinks"><a href="Naccache%E2%80%93Stern_knapsack_cryptosystem" title="Naccache–Stern knapsack cryptosystem">Naccache–Stern knapsack cryptosystem</a></span></li>
<li><a href="Three-pass_protocol" title="Three-pass protocol">Three-pass protocol</a></li>
<li><a href="XTR" title="XTR">XTR</a></li>
<li><a href="SQIsign" title="SQIsign">SQIsign</a></li>
<li><a href="SPHINCS%2B" title="SPHINCS+">SPHINCS<sup>+</sup></a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Theory</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Discrete_logarithm#Cryptography" title="Discrete logarithm">Discrete logarithm cryptography</a></li>
<li><a href="Elliptic-curve_cryptography" title="Elliptic-curve cryptography">Elliptic-curve cryptography</a></li>
<li><a href="Hash-based_cryptography" title="Hash-based cryptography">Hash-based cryptography</a></li>

<li><a href="RSA_problem" title="RSA problem">RSA problem</a></li>
<li><a href="Trapdoor_function" title="Trapdoor function">Trapdoor function</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Standardization</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="CRYPTREC" title="CRYPTREC">CRYPTREC</a></li>
<li><a href="IEEE_P1363" title="IEEE P1363">IEEE P1363</a></li>
<li><a href="NESSIE" title="NESSIE">NESSIE</a></li>
<li><a href="NSA_Suite_B_Cryptography" title="NSA Suite B Cryptography">NSA Suite B</a></li>
<li><a href="Commercial_National_Security_Algorithm_Suite" title="Commercial National Security Algorithm Suite">CNSA</a></li>
<li><a href="NIST_Post-Quantum_Cryptography_Standardization" title="NIST Post-Quantum Cryptography Standardization">Post-Quantum Cryptography</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Topics</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Digital_signature" title="Digital signature">Digital signature</a></li>
<li><a href="Optimal_asymmetric_encryption_padding" title="Optimal asymmetric encryption padding">OAEP</a></li>
<li><a href="Public_key_fingerprint" title="Public key fingerprint">Fingerprint</a></li>
<li><a href="Public_key_infrastructure" title="Public key infrastructure">PKI</a></li>
<li><a href="Web_of_trust" title="Web of trust">Web of trust</a></li>
<li><a href="Key_size" title="Key size">Key size</a></li>
<li><a href="Identity-based_cryptography" title="Identity-based cryptography">Identity-based cryptography</a></li>
<li><a href="Post-quantum_cryptography" title="Post-quantum cryptography">Post-quantum cryptography</a></li>
<li><a href="OpenPGP_card" title="OpenPGP card">OpenPGP card</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr></tbody></table><div></div></td></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks mw-collapsible mw-collapsed navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Cryptography149" style="font-size:114%;margin:0 4em"><a href="Cryptography" title="Cryptography">Cryptography</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">General</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="History_of_cryptography" title="History of cryptography">History of cryptography</a></li>
<li><a href="Outline_of_cryptography" title="Outline of cryptography">Outline of cryptography</a></li>
<li><a href="Classical_cipher" title="Classical cipher">Classical cipher</a></li>
<li><a href="Cryptographic_protocol" title="Cryptographic protocol">Cryptographic protocol</a>
<ul><li><a href="Authentication_protocol" title="Authentication protocol">Authentication protocol</a></li></ul></li>
<li><a href="Cryptographic_primitive" title="Cryptographic primitive">Cryptographic primitive</a></li>
<li><a href="Cryptanalysis" title="Cryptanalysis">Cryptanalysis</a></li>
<li><a href="Cryptocurrency" title="Cryptocurrency">Cryptocurrency</a></li>
<li><a href="Cryptosystem" title="Cryptosystem">Cryptosystem</a></li>
<li><a href="Cryptographic_nonce" title="Cryptographic nonce">Cryptographic nonce</a></li>
<li><a href="Cryptovirology" title="Cryptovirology">Cryptovirology</a></li>
<li><a href="Hash_function" title="Hash function">Hash function</a>
<ul><li><a href="Cryptographic_hash_function" title="Cryptographic hash function">Cryptographic hash function</a></li>
<li><a href="Key_derivation_function" title="Key derivation function">Key derivation function</a></li>
<li><a href="Secure_Hash_Algorithms" title="Secure Hash Algorithms">Secure Hash Algorithms</a></li></ul></li>
<li><a href="Digital_signature" title="Digital signature">Digital signature</a></li>
<li><a href="Kleptography" title="Kleptography">Kleptography</a></li>
<li><a href="Key_(cryptography)" title="Key (cryptography)">Key (cryptography)</a></li>
<li><a href="Key_exchange" title="Key exchange">Key exchange</a></li>
<li><a href="Key_generator" title="Key generator">Key generator</a></li>
<li><a href="Key_schedule" title="Key schedule">Key schedule</a></li>
<li><a href="Key_stretching" title="Key stretching">Key stretching</a></li>
<li><a href="Keygen" title="Keygen">Keygen</a></li>
<li>Machines</li>
<li><a href="Cryptojacking_malware" class="mw-redirect" title="Cryptojacking malware">Cryptojacking malware</a></li>
<li><a href="Ransomware" title="Ransomware">Ransomware</a></li>
<li><a href="Random_number_generation" title="Random number generation">Random number generation</a>
<ul><li><a href="Cryptographically_secure_pseudorandom_number_generator" title="Cryptographically secure pseudorandom number generator">Cryptographically secure pseudorandom number generator</a> (CSPRNG)</li></ul></li>
<li><a href="Pseudorandom_noise" title="Pseudorandom noise">Pseudorandom noise</a> (PRN)</li>
<li><a href="Secure_channel" title="Secure channel">Secure channel</a></li>
<li><a href="Insecure_channel" class="mw-redirect" title="Insecure channel">Insecure channel</a></li>
<li><a href="Subliminal_channel" title="Subliminal channel">Subliminal channel</a></li>
<li><a href="Encryption" title="Encryption">Encryption</a></li>
<li><a href="Decryption" class="mw-redirect" title="Decryption">Decryption</a></li>
<li><a href="End-to-end_encryption" title="End-to-end encryption">End-to-end encryption</a></li>
<li><a href="Harvest_now%2C_decrypt_later" title="Harvest now, decrypt later">Harvest now, decrypt later</a></li>
<li><a href="Information-theoretic_security" title="Information-theoretic security">Information-theoretic security</a></li>
<li><a href="Plaintext" title="Plaintext">Plaintext</a></li>
<li><a href="Codetext" class="mw-redirect" title="Codetext">Codetext</a></li>
<li><a href="Ciphertext" title="Ciphertext">Ciphertext</a></li>
<li><a href="Shared_secret" title="Shared secret">Shared secret</a></li>
<li><a href="Trapdoor_function" title="Trapdoor function">Trapdoor function</a></li>
<li><a href="Trusted_timestamping" title="Trusted timestamping">Trusted timestamping</a></li>
<li><a href="Key-based_routing" title="Key-based routing">Key-based routing</a></li>
<li><a href="Onion_routing" title="Onion routing">Onion routing</a></li>
<li><a href="Garlic_routing" title="Garlic routing">Garlic routing</a></li>
<li><a href="Kademlia" title="Kademlia">Kademlia</a></li>
<li><a href="Mix_network" title="Mix network">Mix network</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Mathematics</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Cryptographic_hash_function" title="Cryptographic hash function">Cryptographic hash function</a></li>
<li><a href="Block_cipher" title="Block cipher">Block cipher</a></li>
<li><a href="Stream_cipher" title="Stream cipher">Stream cipher</a></li>
<li><a href="Symmetric-key_algorithm" title="Symmetric-key algorithm">Symmetric-key algorithm</a></li>
<li><a href="Authenticated_encryption" title="Authenticated encryption">Authenticated encryption</a></li>
<li><a href="Public-key_cryptography" title="Public-key cryptography">Public-key cryptography</a></li>
<li><a href="Quantum_key_distribution" title="Quantum key distribution">Quantum key distribution</a></li>
<li><a href="Quantum_cryptography" title="Quantum cryptography">Quantum cryptography</a></li>
<li><a href="Post-quantum_cryptography" title="Post-quantum cryptography">Post-quantum cryptography</a></li>
<li><a href="Message_authentication_code" title="Message authentication code">Message authentication code</a></li>
<li><a href="Cryptographically_secure_pseudorandom_number_generator" title="Cryptographically secure pseudorandom number generator">Random numbers</a></li>
<li><a href="Steganography" title="Steganography">Steganography</a></li></ul>
</div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div>
<ul><li><span class="noviewer" typeof="mw:File"><span title="Category"></span></span> Category</li></ul>
</div></td></tr></tbody></table><div></div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-06-13" href="https://en.wikipedia.org/wiki/?title=Non-commutative_cryptography&amp;oldid=1295372636">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>

</body></html>